﻿using System;
using System.Collections.Generic;
using VisionCloud.Core.Model.Ms;
using VisionCloud.Domain.Common;

namespace VisionCloud.Domain.DtoModel.Ms
{
    public class MsTaskReportDto
    {
        /// <summary>
        /// 机器人Id
        /// </summary>
        public string RobotId { get; set; }

        /// <summary>
        /// 机器人代码
        /// </summary>
        public string RobotCode { get; set; }

        /// <summary>
        /// 机器人Token
        /// </summary>
        public string RobotToken { get; set; }

        public Guid TaskId { get; set; }
        public string BuildingBlock { get; set; }
        public string BuildingFloor { get; set; }

        public string RoomNo { get; set; }

        public Guid ProjectId { get; set; }

        public string ProjectName { get; set; }

        public string ReportName { get; set; }

        public int ReportType { get; set; }

        public Guid FileId { get; set; }

        public string FileName { get; set; }

        public string RelativePath { get; set; }

        public DateTime FileCreatedDate { get; set; }

        /// <summary>
        /// 报告在机器人端的生成时间
        /// </summary>
        public DateTime ReportCreatedDate { get; set; }

        public DateTime ReportLastUpdatedDate { get; set; }
        public MsTask.TaskStatus TaskStatus { get; set; }
        public Guid OpeId { get; set; }

        public string TaskTypeStr { get; set; }

        //public RobotFileModel RobotFileModel { get; set; }
        public string ReportPath { get; set; }

        public Guid TaskReportId { get; set; }
        public bool IsNew { get; set; }

        public string ProjectStage { get; set; }

        public string SyncStatus { get; set; }
    }

    /// <summary>
    /// 查询条件对象
    /// </summary>
    public class MsTaskReportConditionModel : PageBase
    {
        public Guid TaskId { get; set; }

        /// <summary>
        /// 项目Id
        /// </summary>
        public Guid ProjectId { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        /// 报告名称
        /// </summary>
        public string ReportName { get; set; }

        /// <summary>
        /// 楼栋
        /// </summary>
        public string BuildingBlock { get; set; }

        /// <summary>
        /// 楼单元
        /// </summary>
        public string BuildingFloor { get; set; }

        /// <summary>
        /// 房号
        /// </summary>
        public string RoomNo { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public int? Status { get; set; }
    }

    public class ExportFile
    {
        public List<ExportFileInfo> files { get; set; }
        public string path { get; set; }

        public string deviceNo { get; set; }
    }

    public class UploadDotFile
    {
        public string TaskId { get; set; }
        public string DeviceNo { get; set; }
        public string FileFullName { get; set; }

        public string TaskReportId { get; set; }
    }

    public class ExportFileInfo
    {
        public Guid TaskReportId { get; set; }

        /// <summary>
        /// 文件名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }

        /// <summary>
        /// 项目ID
        /// </summary>
        public Guid ProjectId { get; set; }

        /// <summary>
        /// 文件存放路径
        /// </summary>
        public string Path { get; set; }

        /// <summary>
        /// 任务名称
        /// </summary>
        public Guid TaskGuid { get; set; }

        public string ProjectStage { get; set; }
        public string BuildingName { get; set; }
        public string FloorName { get; set; }
    }

    /// <summary>
    /// 任务报告Dto
    /// </summary>
    public class TaskReportUrlDto
    {
        /// <summary>
        /// 报告名称
        /// </summary>
        public string ReportName { get; set; }

        /// <summary>
        /// 站点编号
        /// </summary>
        public int PointIndex { get; set; }

        /// <summary>
        /// 服务器地址
        /// </summary>
        public string Url { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        public string ProjectName { get; set; }
    }
}